package util;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import au.com.bytecode.opencsv.CSVReader;

import caracteristicas.ImageClass;

public class CSVMomentoHU {
	
	private final String MOMENTOSHU = "momentosHu" + File.separator;
	
	public CSVMomentoHU(){
		
	}
	
	public ArrayList<ImageClass> retornarMomentosHu(int classe){
		
		ArrayList<ImageClass> retorno = new ArrayList<ImageClass>();
		StringBuffer nomeCsv = new StringBuffer();
		ImageClass imagemClass;
		String[] arrayHuTemp;
		
		nomeCsv.append("000");
		if (classe<10){
			nomeCsv.append("0");
		}
		nomeCsv.append(classe);
		nomeCsv.append(".csv");
		CSVReader arquivoCsv;
		try {
			arquivoCsv = new CSVReader(new FileReader(MOMENTOSHU + nomeCsv.toString()),';');
			List<String[]> arquivo = arquivoCsv.readAll();
			
			
			//para todas as imagens
			for (int i = 0; i < arquivo.size(); i++) {
				
				//pega a imagem
				arrayHuTemp = arquivo.get(i);
				double[] arrayParaRetorno = new double[7];
				for (int j = 0; j < arrayHuTemp.length-1; j++) {
					arrayParaRetorno[j] = Double.parseDouble(arrayHuTemp[j]);
				}
				imagemClass = new ImageClass(arrayParaRetorno, classe);
				retorno.add(imagemClass);
			}
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return retorno;
	}
}
